#ifndef FFPLAY_DEF_H
#define FFPLAY_DEF_H

#define __STDC_CONSTANT_MACROS
#ifdef __cplusplus
extern "C"
{
// 包含ffmpeg头文件
#include "libavutil/avutil.h"
#include"libavformat/avformat.h"
}
#endif

///
/// ffplay需要使用到的相关的结构体，如包队列、帧队列
///
typedef struct FrameQueue{

}FrameQueue;

typedef struct PacketQueue{

}PacketQueue;

// 初始化帧队列
int frame_queue_init(FrameQueue *frameQ, PacketQueue * packetQ, int size);
// 初始化包队列
int packet_queue_init(PacketQueue *packetQ);
// 启用包队列
void packet_queue_start(PacketQueue *packetQ);
// 停止包队列
void packet_queue_abort(PacketQueue *packetQ);
// 唤醒阻塞的帧队列
void frame_queue_signal(FrameQueue *frameQ);
// 清空包队列
void packet_queue_flush(PacketQueue *packetQ);
// 销毁帧队列
void frame_queue_destroy(FrameQueue *frameQ);
// 销毁包队列
void packet_queue_destroy(PacketQueue *packetQ);


#endif // FFPLAY_DEF_H
